home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / database / idex219.zip / INFODEX.1 / INFODEX.REV < prev    next >
Text File  |  1996-01-05  |  70KB  |  1,451 lines

  1.                          Infodex Revision History
  2.  
  3.  
  4. 01-05-96 ■ Version 2.19
  5.  
  6.          . Added information to the documentation files about STSI's new
  7.            internet site at http://www.stevetech.com, anonymous ftp at
  8.            stevetech.com, and e-mail to support@stevetech.com.  Added
  9.            internet information to the Infodex about box.
  10.  
  11.          . Added "Lines Per Page", "Blank Lines After Record", and "Page
  12.            Break After Each Record" options to the Print dialog box.
  13.            Records are printed using the layout shown on the editing screen,
  14.            but users can modify whether records print continuously or on a
  15.            one-per-page basis.  (Note: A modification was made to the
  16.            printing source code in our vendor's library to prevent an
  17.            error where extra lines (255) could be sent to the printer if
  18.            the user specified a value less than the number of lines actually
  19.            needed for printing a complete record.)
  20.  
  21.          . Changed the wording of an error message that can occur if
  22.            an attempt is made to open a database with a corrupt or missing
  23.            index file.  Previously, the error message stated that the
  24.            database was missing.  The new error message indicates that the
  25.            file is either missing or corrupt.
  26.  
  27.          . Added a special error message to report cases where the
  28.            selected network type could not be initialized.  Infodex
  29.            now instructs the user to remove the "NetworkType=" line from
  30.            the INFODEX.INI file.  This will make the database initializa-
  31.            tion default to "No Network", allowing the user to enter the
  32.            program, and reselect the correct network type.
  33.  
  34.          . Added an error message screen to describe any errors that may
  35.            occur when attempting to create a database file.
  36.  
  37.          . Expanded information in the documentation file about the
  38.            settings on the Network Options screen.  (Also added a note
  39.            in the registration form to inform users about the 50-record
  40.            database limit.)
  41.  
  42.          . Changed the opening mode for the overlay file in the real-mode
  43.            version of Infodex (INFODEX.EXE) to $20 to "deny writes".  This
  44.            will make sure that the overlay file is properly set for shared
  45.            access on networks.
  46.  
  47.  
  48. 09-02-95 ■ Version 2.18
  49.  
  50.          . Added the ability for the user to eliminate the text delimiter
  51.            when exporting records.  (Added by user request.)
  52.  
  53.  
  54. 08-22-95 ■ Version 2.17
  55.  
  56.          . Fixed a problem where an error #10164 (Invalid Key Number) would
  57.            occur for every record when an import was attempted.  The
  58.            CurrentSortKey value was not being initialized.  When the
  59.            Add Record routine attempted to reset the sequential pointer
  60.            after the Add operation, (based on the CurrentSortKey value),
  61.            an error message came up stating "Invalid Key Number".  This
  62.            problem was introduced in version 2.15.
  63.  
  64.          . Fixed a problem where the "Decimal Places" field on the
  65.            Edit Control screen was not saving the original value the user
  66.            entered.  (The user could modify the control, which would save
  67.            the value, but the initial value was not being remembered.)
  68.  
  69.  
  70. 07-20-95 ■ Version 2.16
  71.  
  72.          . Improved the printing support to position the fields on the
  73.            report in the same relative location as they appear on the
  74.            screen.
  75.  
  76.          . Fixed a problem in the printing routines where a RunTime Error
  77.            216 could occur if the user attempted to print a record with
  78.            memo field text longer than 255 characters.
  79.  
  80.          . Added drag & drop mouse support on the layout screen to allow
  81.            users to move fields and prompts more easily.  Users can click
  82.            on the field delimiter (if field delimiters are being used, or
  83.            on the field handle, if delimiters are not being used) and drag
  84.            the field to a new location.
  85.  
  86.  
  87. 06-05-95 ■ Version 2.15
  88.  
  89.          . Incorporated updates to newest database code (v5.51).
  90.  
  91.          . Removed the "Initializing Database.  Please Wait..." status
  92.            screen, since the time required for database initialization
  93.            has been drastically reduced.
  94.  
  95.          . Reduced the memory requirements and the time required to
  96.            initialize the database by using the "MinimizeUseOfNormalHeap"
  97.            constant in the BTInitIsam statement.  This should help
  98.            systems which have a limited amount of Extended (or DPMI)
  99.            memory available.
  100.  
  101.          . Reset the sequential record pointer after adding or modifying
  102.            a record.
  103.  
  104.          . Created a literal string unit containing all strings that
  105.            are read from the INI file and used variable references
  106.            instead of literal strings, reducing the chance for typing
  107.            or spelling errors.
  108.  
  109.          . Updated the RTM.EXE and DPMI16BI.OVL files to the newest
  110.            version (6-14-94).
  111.  
  112.          . Increased the lock timeout value for network users.  Now,
  113.            the lock-error retry loop will attempt to complete an
  114.            operation for 1.5 seconds before issuing a retry error.
  115.            (This was increased from a previous value of 0.76 seconds.)
  116.  
  117.          . Added a lock-error retry loop for network users.  This
  118.            loop prompts the user whether or not to retry the current
  119.            operation if it failed due to a locking error.
  120.  
  121.          . Changed the Default Maximum Number of Workstations from
  122.            50 to 250 to allow network licenses of up to 250 users.
  123.  
  124.          . Removed code that directly assigned the Maximum Number of
  125.            Allowed Workstations (MaxNrOfWorkstations) value based on
  126.            the Network Users field.  This value affects the size of the
  127.            dialog (.DIA) file.  Instead, we are limiting access at run
  128.            time based on the number of users accessing the database.
  129.            (Most users should not notice a change.  Registered NETWORK
  130.            users will want to read the "Cautions" section of the
  131.            documentation file.
  132.  
  133.          . Added code to limit the number of network users that may
  134.            access an Infodex database at one time.  Registered network
  135.            users will only be allowed access depending on the number
  136.            of network users in their license.  Non-registered users are
  137.            allowed to have 5 users access the database at one time.
  138.            (This is for evaluation purposes only.  Database record limits
  139.            will still apply for the non-registered version.)
  140.  
  141.          . Changed the default behavior of Infodex after deleting a
  142.            message.  Instead of resetting to the beginning of the database,
  143.            it now advances to the next record.  (If for some reason, it
  144.            cannot access the next record properly, it will then reset to
  145.            the beginning.)
  146.  
  147.  
  148. 04-01-95 ■ Version 2.14
  149.  
  150.          . Added a new installation program that handles compressed
  151.            program files.
  152.  
  153.          . Fixed a problem where F3 was not working properly to change
  154.            the database description, which appeared on the top of the
  155.            editing screen.
  156.  
  157.          . Created a real-mode version (8088 or higher) of Infodex for
  158.            users who are experiencing problem with insufficient extended
  159.            memory.  The protected mode version (standard) will be renamed
  160.            to INFODEXP.EXE, while the real-mode version will become
  161.            INFODEX.EXE.  The real-mode version uses an overlay file, which
  162.            can be loaded into EMS.  This will allow more users (especially
  163.            those with limited extended memory) to use Infodex.
  164.  
  165.            Note: Users who have successfully used Infodex in the past
  166.            without noticing problems will want to use INFODEXP.EXE, while
  167.            those experiencing insufficient memory problems will want to
  168.            try the INFODEX.EXE file.  For complete information about memory
  169.            requirements for each version of the program, see the "Memory
  170.            Requirements" section of the documentation.
  171.  
  172.          . Reworked the status screens to use a common status screen from
  173.            an internal STSI library.
  174.  
  175.          . Removed use of custom exit procedure, which has been found
  176.            to cause intermittent problems with protected mode applications
  177.            under Novell NetWare when using OS/2.
  178.  
  179.          . Fixed a heap leak problem where a large structure was not being
  180.            properly disposed of in the database closing procedure.
  181.  
  182.  
  183. 02-14-95 ■ Version 2.13
  184.  
  185.          . Found and fixed a major problem where deleting a field in
  186.            the database (after the database had been created) could
  187.            cause corruption in subsequent fields of the database.  If
  188.            the field being deleted was the last field in the database,
  189.            this problem would not be noticed.
  190.  
  191.          . Shortened the registration number field on the Register
  192.            Infodex screen to 12 characters.
  193.  
  194.          . Modified the online help system to only open the help file
  195.            when F1 is pressed.  Previously, the help file was open the
  196.            entire time that the program was running.
  197.  
  198.          . Updated database libraries to the newest version.  This
  199.            can cause a noticeable increase in speed, especially when
  200.            rebuilding the database index.
  201.  
  202.          . Changed several of the window and browser drawing routines
  203.            to be taken from our internal libraries.
  204.  
  205.          . Cleaned up several of the display issues when moving controls
  206.            on the layout screen.
  207.  
  208.          . Changed the About box to a standard stAboutBox from our
  209.            internal libraries.
  210.  
  211.          . Updated copyright notices.
  212.  
  213.          . Enabled the use of up and down arrow keys on all dialogs in
  214.            place of the Tab and Shift-Tab keys.
  215.  
  216.          . Fixed a problem where pressing Tab in the search dialog
  217.            pick list did not advance the cursor to the Ok button.
  218.            Also added "Alt-S" support to the pick list to set the focus
  219.            on the search string control.
  220.  
  221.          . Enhanced the printing routines and added a status display
  222.            that allows the user to terminate in the middle of the
  223.            printing process by pressing Escape.
  224.  
  225.          . Added the ability to print all records in the database at
  226.            one time.
  227.  
  228.          . Added a message box to the Previous and Next routines to
  229.            warn the users when the database "wraps" around to the first
  230.            or last message in the database.
  231.  
  232.          . Added a custom exit procedure to be executed in the event
  233.            that a Runtime error occurs.
  234.  
  235.          . Changed the way Infodex looks for the default path.  If a
  236.            "SET INFODEX=" statement is not present in the DOS PATH, it
  237.            then uses the directory where INFODEX.EXE resides as the
  238.            default path.
  239.  
  240.  
  241. 11-08-94 ■ Version 2.12
  242.  
  243.            . Fixed a display problem where the browser's 3-d appearance
  244.              was not evident until the second time it was initialized.
  245.  
  246.            . Began initial coding for importing an Infodex v1.x database,
  247.              using the file ISAMIO.EXE to generate a comma-delimited ASCII
  248.              file which can be imported with Infodex version 2.  (The only
  249.              templates which may not import properly from version 1 are the
  250.              recipes and small notes templates.  Issues related to these
  251.              two templates will be addressed in a future version.  All
  252.              other templates import fine.  Users will need to modify the
  253.              field names for databases that are imported.  Users may also
  254.              desire to modify the default field placement.)
  255.  
  256.            . Decreased the maximum column that fields can extend to by 1.
  257.              This makes sure that fields with delimiters cannot extend
  258.              immediately up to the dividing line.
  259.  
  260.            . Changed the default color of the field delimiters to light
  261.              gray on blue instead of white on blue.
  262.  
  263.            . Fixed a problem where importing a text file could cause
  264.              an error creating the header file.  This occurred because
  265.              the import file had a field that was blank in every record.
  266.              The new code makes sure that each field is at least 1
  267.              character long when creating the new database.  (If the user
  268.              does not want this field present, they can delete it after
  269.              the database has been imported.)
  270.  
  271.            . Added a Notes indicator character (#14) to the end of each
  272.              memo field on the entry screen.  This allows mouse users to
  273.              simply click on the notes character to view or modify the
  274.              contents of the memo field.  Note: The memo field text will
  275.              be shown in read-only mode, unless the record is actually
  276.              being edited.  If the record is being edited, the text can
  277.              be modified as usual.
  278.  
  279.            . Removed an unnecessary color set from code to prepare for
  280.              an eventual global color set.
  281.  
  282.            . Moved the Layout button to the Other Options screen, and
  283.              moved the Print button to the main editing screen to make
  284.              printing features more easily available to users.
  285.  
  286.  
  287. 10-15-94 ■ Version 2.11
  288.  
  289.            . Made the default display length for numeric fields to be
  290.              15, instead of 5, when importing a database, or re-creating
  291.              a missing .INF file.
  292.  
  293.            . Fixed a problem where entering and exiting from Layout mode
  294.              would cause the decimal places value of each numeric field
  295.              to be reset to 0.  Field now retains its original decimal
  296.              places value.
  297.  
  298.            . Added support to allow the user to decide whether or not
  299.              field delimiters should be used.  Added a check box to
  300.              the configuration options screen for this purpose.
  301.  
  302.            . Fixed a minor problem where the UseSaveMode variable
  303.              was not being read from the INFODEX.INI file properly.
  304.              UseSaveMode was always being set to true (which is the
  305.              default).
  306.  
  307.            . Modified code to clean up the process that redraws field
  308.              delimiters when controls are moved around on the layout
  309.              screen.
  310.  
  311.            . Fixed a screen drawing problem on the layout screen where
  312.              some added headers were not being drawn when the screen
  313.              was first displayed.
  314.  
  315.            . Fixed a problem where users could not Delete a record
  316.              from the database.  Problem would appear after new fields
  317.              had been added to or deleted from the database, or after
  318.              record lengths were resized.  When these processes were
  319.              initialized, the AddNulls variable was set to False instead
  320.              of True, causing routines not to add empty keys to the
  321.              index file.  If you are experiencing any problems such as
  322.              this, perform the following steps to correct it:  1.  Copy
  323.              the database files to a separate sub-directory, in case
  324.              something goes wrong.  2.  Erase the index file.  (For
  325.              example, if your database is named 'TEST'(.DAT), erase the
  326.              file TEST.IX.)  3.  Execute Infodex and open the database.
  327.              An error message will occur telling you the index file is
  328.              missing.  When it prompts you to rebuild the file, select
  329.              Yes.  When the rebuilding process is complete, you should
  330.              be able to edit your data file and, if necessary, delete
  331.              records.
  332.  
  333.            . Removed some obscure trouble-shooting code that was left
  334.              over in a reorganization process routine.
  335.  
  336.            . Dramatically increased the speed of searching for the
  337.              first and last records in the database.  A noticeable
  338.              slowdown was apparent on large databases with the old
  339.              method.  The new method is extremely fast.
  340.  
  341.            . Fixed a problem where a RunTime Error #213 would occur
  342.              when attempting to import a database that contained a numeric
  343.              field.  Key creation routine was attempting to access
  344.              an index value that was out of range.
  345.  
  346.            . Disabled I/O checking before attempting to erase and
  347.              recreate the .INF file in the WriteINFFile routine.
  348.              This reduces the chance for errors if the file cannot
  349.              be erased or recreated successfully.
  350.  
  351.            . Fixed a problem where the .INF file was being opened
  352.              before the database was opened, and it was not being
  353.              closed until the database was closed.
  354.  
  355.            . Fixed an incorrect version number displayed on the
  356.              About box.
  357.  
  358.  
  359. 10-11-94 ■ Version 2.10 
  360.  
  361.            . Added a check to warn the user when importing if the
  362.              database filename already exists.  If it does, the user
  363.              has the option of cancelling the operation or continuing
  364.              by overwriting the existing file.
  365.  
  366.            . Fixed a problem in the import routine which did not
  367.              recognize successive commas as representing blank fields.
  368.              Some programs export using a set of empty quotes, while
  369.              others simple put a successive field delimiter.  Infodex
  370.              now recognizes both types.
  371.  
  372.            . Reworked the display of status windows when creating and
  373.              opening a database.  New method displays more windows for
  374.              a lesser period of time, giving the user a better indication
  375.              of exactly what operation is being performed.
  376.  
  377.            . Dramatically increased the speed at which Infodex opens
  378.              an existing database.  (A call to GetFirstRecord was causing
  379.              a significant speed degradation in large data files.  When
  380.              a file is opened, it is automatically located at the first
  381.              record, making this call unnecessary.)  Large databases now
  382.              load extremely fast.
  383.  
  384.            . Added support for importing a delimited ASCII text file.
  385.              (Typically a quote/comma delimited file.)  Infodex adds
  386.              default field names, and supplies a default layout.
  387.              Layout can be easily changed by the user.
  388.  
  389.            . Removed the Print button from the main editing screen
  390.              and replaced it with an "Other" button.  The Other button
  391.              calls up a dialog box with the Print and Export buttons
  392.              displayed.
  393.  
  394.            . Added support for exporting the database records into
  395.              a comma delimited file.
  396.  
  397.            . Added support for monochrome mode by cleaning up the
  398.              existing display for a more attractive appearance.
  399.  
  400.  
  401. 10-01-94 ■ Version 2.06  (Internal BETA Version.  Not Released.)
  402.  
  403.            . Added support to make the data records from Infodex 2.00
  404.              through 2.02 import and create a field layout *similar*
  405.              to the original layout found in these versions.
  406.              (Eventually, a separate conversion unit may be created
  407.              to reduce code size, increasing the likelihood of having
  408.              a Real Mode version.)
  409.  
  410.            . Fixed a problem in the Browser where pressing ESCAPE did
  411.              not always return to the same record that was displayed
  412.              before the Browser was initialized.
  413.  
  414.            . Modified the BuildKey routine to trim the leading spaces
  415.              off of numeric key strings.  This makes it much easier
  416.              for users to search for a numeric value in the database.
  417.  
  418.            . Fixed a problem where the pressing ENTER on a record in
  419.              the Browser screen would not always cause the exact
  420.              record to be displayed.  The Browser was going to the
  421.              first record that started with the key string that was
  422.              highlighted.  Changed routine to make sure an exact match
  423.              was found, return the reference number and move to that
  424.              location in the database file.
  425.  
  426.            . Fixed an obscure problem where trying to Open a non-
  427.              existent file from the Open File screen and then hitting
  428.              escape would cause a couple of error message boxes to
  429.              appear.  Made sure that the selected file exists before
  430.              attempting to do any operations.
  431.  
  432.            . Updated the Delete File routine to make sure that all
  433.              files associated with a database file (.DAT, .IX, .INF,
  434.              .DBH, & .DIA) were being deleted.
  435.  
  436.            . Fixed a problem where the tab and down arrow keys were
  437.              not working when focused on the New button.
  438.  
  439.            . Added a simple error check to make sure a for loop
  440.              cannot be executed on the master field list collection
  441.              if there is not at least one field within the list.
  442.  
  443.            . Moved the writing of the field information from the
  444.              .FLD file to the .INF file.  This eliminates one of the
  445.              files needed for database maintenance and will make the
  446.              transition from an older version of Infodex to a newer
  447.              one much easier.
  448.  
  449.            . Added a "Version=' line to the .INF file to indicate
  450.              the version of Infodex used to create and write the data
  451.              files.  This may be useful in future versions if a
  452.              conversion routine/utility is needed.
  453.  
  454.            . Added commas between the row and column fields on the
  455.              Edit Field screen to better show the user the format.
  456.  
  457.            . Modified the Edit Field screen to protect the Field
  458.              Length control from being modified if the field type
  459.              is a number.  The Display Length should always be set
  460.              long enough to display any number contained in the
  461.              associated field of the database.
  462.  
  463.            . Decreased the allowable decimal places on a numeric
  464.              field from 10 to 4.
  465.  
  466.            . Made sure that memo fields were being trimmed properly
  467.              when a user decreases the length of a memo field.
  468.  
  469.            . Fixed a problem where intermittent hangs would occur
  470.              after changing the size of a field within the record
  471.              layout.  Problem was due to a call to FreeMem using an
  472.              old size parameter.  Moved the FreeMem call to circum-
  473.              vent this problem.
  474.  
  475.            . Created a series of routines to be executed when a user
  476.              resizes an existing database field.  A temporary file is
  477.              created while the process is executed and Infodex restruc-
  478.              tures the existing database fields.
  479.  
  480.            . Increased the speed of the routine that sets the tab
  481.              order when New or Edit is selected from the editing
  482.              screen.  Converted coordinates for each field to a
  483.              string in order to store them in a sorted string array.
  484.  
  485.            . Added an option flag to make sure that all numeric fields
  486.              are right-justified.
  487.  
  488.            . Modified code to allocate enough memory for the maximum
  489.              possible length of a field's displayed width on the screen.
  490.              This will allow users to increase a field's displayed
  491.              length without trashing memory.
  492.  
  493.            . Formatted the display of numeric fields within the browser
  494.              screen so that the formatted string is only as wide as
  495.              the display length for the field, and that the number fits
  496.              accordingly into the allotted length.
  497.  
  498.            . Modified code for the browser screen to make each column
  499.              only as wide as the display length of each field, or the
  500.              header of each field, whichever is larger.  This may
  501.              allow some databases to fit more information within the
  502.              limits of the Browser screen.
  503.  
  504.            . Added a check to make sure that a user cannot create
  505.              a field from the Edit Field dialog box that extends
  506.              past the bounds of the layout area.
  507.  
  508.            . Added a check to make sure that a user cannot enter
  509.              a display length for a field that is greater than the
  510.              actual field length.  If the display length is found to
  511.              be greater, it is set equal to the field length.
  512.  
  513.            . Added code to protect the Decimal Places field on the
  514.              Edit Field dialog box based on the selection of the
  515.              field type.  The Decimal Places field should only be
  516.              accessible if the field type is a numeric field.
  517.  
  518.            . Fixed a problem where the field type control on the
  519.              Edit Field dialog box was being protected, even if the
  520.              user was trying to add a new control to an existing
  521.              database.
  522.  
  523.            . Added a Title Bar Display section to the Register
  524.              Infodex screen to allow registered users to customize
  525.              the display on the Infodex title bar.  Added the new
  526.              variable to the INFODEX.INI file.
  527.  
  528.  
  529. 09-25-94 ■ Version 2.05  (Internal BETA Version.  Not Released.)
  530.  
  531.            . Added support for a "Decimal Places" field on the Edit
  532.              Field dialog box.  Implemented support for this feature
  533.              when adding numeric fields to the editing screen.
  534.  
  535.            . Added code to protect the field type control on the
  536.              Edit Field dialog box after a database is created.  This
  537.              is done to make sure that users cannot attempt to change
  538.              a character field to a numeric field, (and similar scenarios)
  539.              which would cause corruption of the database.
  540.  
  541.            . Added a procedure to dynamically change the tab order,
  542.              based on the layout of the fields within the layout dialog
  543.              box.  The tab order will start at the top left, move to
  544.              any field directly to its right, and then go to the next
  545.              line and repeat the process.
  546.  
  547.            . Added a line of text to the top line of the Infodex back-
  548.              ground screen that displays either 1) the registration
  549.              name of the REGISTERED user, or 2) the text "UNREGISTERED
  550.              Version" if the user has not yet registered Infodex.
  551.  
  552.            . Changed the order of the initialization code to make
  553.              processing the path to Infodex and reading the file
  554.              INFODEX.INI the first two tasks.
  555.  
  556.            . Removed unnecessary procedure declaring new instances of
  557.              pointers.  These pointers (which contain the record data)
  558.              are allocated using GetMem later in the program.
  559.  
  560.            . Made sure that controls added to the layout screen are
  561.              added as read-only, to prevent the modification of the
  562.              displayed data.
  563.  
  564.            . Modified code to automatically increment the new row field
  565.              when adding a control to the layout screen, based on the
  566.              current number of editing fields on the screen.
  567.  
  568.            . Modified code to make the focus return to the first editing
  569.              field on the layout screen after a user selects one of the
  570.              move buttons or selects Cancel when attempting to add
  571.              a new control.
  572.  
  573.            . Fixed a problem where the EqualRec routine was returning
  574.              the value of False each time it was called, even if the
  575.              two records should have compared.  When editing a record,
  576.              if no changes had been made and the user pressed Escape,
  577.              Infodex would prompt to save the changes.  Added code to
  578.              compare each field in the old and new records individually,
  579.              instead of using a structural compare.
  580.  
  581.            . Removed tab order field from the edit control dialog
  582.              box.  Although the tab order is still maintained within
  583.              each field record, it is not used at this time.
  584.  
  585.            . Fixed a problem where a changing a field name on the
  586.              layout screen did not always redraw properly.  If the
  587.              new name was shorter than the old name, "left-over"
  588.              characters would still be displayed.  Modified code to
  589.              pad all field names to 15 characters, both on the layout
  590.              and actual editing screens.
  591.  
  592.            . Fixed a problem on the search screen where the dialog
  593.              box would not be initialized properly if the search field
  594.              pick list had less than 4 or 5 items in it.  Added
  595.              commands to make sure that the pick list was initialized
  596.              to its full height, allowing the scroll bars to be added
  597.              properly.
  598.  
  599.            . Hid the display of the Cancel button on the layout screen
  600.              when modifying an existing database's layout.  Due to
  601.              the restructuring of added or deleted fields when modifying
  602.              the layout, users must select Done instead.
  603.  
  604.            . Added the capability for users to delete a field from
  605.              the layout screen after a database has been created.
  606.              The database is automatically reorganized to delete
  607.              the proper field.  Fields can be deleted from anywhere
  608.              within the record structure.
  609.  
  610.  
  611. 09-23-94 ■ Version 2.04  (Internal BETA Version.  Not Released.)
  612.  
  613.            . Fixed a problem where a reorganization of the database
  614.              after adding a numeric field was causing the database
  615.              to be corrupted.  The offset of the numeric field was
  616.              one byte too large.
  617.  
  618.            . Added support for users to add a field to the layout
  619.              screen after a database has been created.  The database
  620.              is automatically reorganized to add a new field of the
  621.              type specified.  The field is automatically added to the
  622.              end of the record structure.
  623.  
  624.            . Added support for Infodex to erase the old editing screen
  625.              and redraw a new one when the Layout of the screen has
  626.              been changed.
  627.  
  628.            . Added a Layout button to the main database editing screen
  629.              to allow users to modify the layout of the fields at any
  630.              time after a database has been originally created.
  631.  
  632.            . Added a command to clear each editing field on the create
  633.              new database screen each time a character is entered as
  634.              the first character when a field receives the focus.
  635.  
  636.            . Eliminated redundant number displays in front of each
  637.              field on the create new database screen.
  638.  
  639.            . Changed the "Prompt" text on the top of the create
  640.              new database screen to display "Field Name", "Type",
  641.              and "Length".
  642.  
  643.            . Added a status window when Infodex attempts to open
  644.              an existing database or create a new database.  If
  645.              the time delay is substantial, this will inform the
  646.              user what is happening.
  647.  
  648.  
  649. 09-10-94 ■ Version 2.03  (Internal BETA Version.  Not Released.)
  650.  
  651.            . Made sure that the sum of all field lengths was not
  652.              longer than 65530 characters when creating a new template.
  653.              In order to store records, they must be less than 64K.
  654.  
  655.            . Made sure that users could not create a character field
  656.              less than 1 or greater than 254 characters long when
  657.              creating a new template.  Also made sure that memo fields
  658.              were within the boundaries of 1 to 65530.
  659.  
  660.            . Moved the command that closes the header file to complete
  661.              this operation immediately after the fileblock is opened.
  662.              This should reduce the chance of conflicts in network
  663.              situations.
  664.  
  665.            . Added commands to free any memory within the Done
  666.              destructor that had been dynamically allocated to contain
  667.              the record data.
  668.  
  669.            . Fixed a typo on the registration nag screen that stated
  670.              that Infodex was $29.95, when the actual price was
  671.              $34.95.
  672.  
  673.            . Made sure that Infodex was accurately warning a user
  674.              who wanted to stop editing the current record without
  675.              saving his/her changes.
  676.  
  677.            . Added the ability to print the first 256 characters of
  678.              a memo field on a printout.  Infodex now issues a page
  679.              break between each record.
  680.  
  681.            . Removed ability to View templates.  Since the user can
  682.              now create templates dynamically, this feature is no
  683.              longer needed.
  684.  
  685.            . Fixed a problem where selecting a record from the Browser
  686.              screen after a search process would not always find the
  687.              correct record.  (Code was set to search for selected
  688.              text based on the first key field, instead of the current
  689.              key field.)
  690.  
  691.            . Changed the search screen to display a pick list contain-
  692.              ing all of the indexed fields, instead of displaying a
  693.              collection of radio buttons.  Users can select one field
  694.              from the pick list to search for the specified Search
  695.              String.
  696.  
  697.            . Removed display sections ([ ]) on the status line at the
  698.              bottom of the screen.  Since a database can have several
  699.              memo (notes) fields, a Notes indicator is not necessary
  700.              or practical.  The other two fields (Read-Only indicator
  701.              and Status indicator) were not being used.
  702.  
  703.            . Lengthened the Nested Field display for memo fields out
  704.              to the maximum size allowable.  This gives users a good
  705.              visual indication of what text is maintained within the
  706.              first 50 (approx.) characters of the memo field.
  707.  
  708.            . Made a prompt width of 15 the standard for field prompts.
  709.              This should allow enough room for most field names, while
  710.              keeping it short enough to allow sufficient room for data
  711.              entry fields.
  712.  
  713.            . Modified the routine that changes the Database descrip-
  714.              tion.  The entire template does not need to be redrawn
  715.              when the description is changed.  The title is simply
  716.              updated on the main dialog box.
  717.  
  718.            . Removed the Notes button from the right side of the
  719.              editing dialog box.  Notes fields (a.k.a. Memo fields)
  720.              can now be edited by pressing ENTER on the nested Notes
  721.              fields located inside of the editing area.
  722.  
  723.            . Added support for Infodex to read files created with
  724.              versions 2.00 through 2.02.  (Included in this code is
  725.              a translation/cleanup procedure for the notes fields
  726.              contained in the old databases.  Apparently, some
  727.              corruption was contained on the end of the Notes field
  728.              text when it was being edited, even though it was not
  729.              visible.  When the databases are imported into this
  730.              new version, the corruption should be removed.)
  731.  
  732.            . Added the capability for Infodex to create a database
  733.              dynamically, based on data that the user enters.  Users
  734.              can specify that they want to create alphanumeric fields,
  735.              numeric fields, or memo fields.
  736.  
  737.  
  738. 08-19-94 ■ Version 2.02
  739.  
  740.            . Added support to read "The High-Tech Trader" data
  741.              files created by The Bertha BBS.  These data files
  742.              contain computerized "classified ads" to allow buyers
  743.              and sellers to place and respond to product ads.  To
  744.              download the latest classified ads from The High-Tech
  745.              Trader, call The Bertha BBS at (218) 924-2060.
  746.  
  747.  
  748. 06-21-94 ■ Version 2.01
  749.  
  750.            . Fixed a problem where a RunTime Error #216 (general
  751.              protection fault) would occur when closing a database
  752.              file if the user had modified the database description
  753.              or field names during the session.  This problem did
  754.              not cause data loss.  Problem was caused by referencing
  755.              a nil pointer.
  756.  
  757.  
  758. 05-26-94 ■ Version 2.00
  759.  
  760.            . Released to the general public.
  761.  
  762.  
  763. 05-25-94 ■ Version 1.60  (Internal Revision - Not Released)
  764.  
  765.            . Fixed intermittent problem with the Help system.  Calling
  766.              up the Help Topic Index would not always allow a topic to
  767.              be selected for viewing.
  768.  
  769.            . Added a check to the Cancel Edit routine to compare whether
  770.              or not the user has made any changes to the record before
  771.              asking them if they want to save the changes.  If no changes
  772.              have been made, the Cancel procedes without querying the
  773.              user.
  774.  
  775.            . Modified code to make the Template Dialog (editing screen)
  776.              global to the Master Template Object, rather than a local
  777.              variable that is passed between procedures.
  778.  
  779.            . Added support for the Ctrl-PgUp key combination to trigger
  780.              a call to get the first record in the database and for the
  781.              Ctrl-PgDn key combination to trigger a call to get the
  782.              last record in the database.  Also added support for using
  783.              the F10 key to save the current record.
  784.  
  785.            . Modified notes field code to only initialize (create) the
  786.              notes field once each time a database is created or opened,
  787.              and the notes text is reinitialized when the Notes field
  788.              is viewed or edited.
  789.  
  790.            . Moved mouse close-box handling for the editing template
  791.              to a post-edit routine to handle events based on whether
  792.              the template is in Protected mode or not.
  793.  
  794.            . Removed support for /DEBUG mode.  New object-oriented
  795.              fileblock handling does not directly support this feature.
  796.  
  797.            . Added support for the browser screen to move the high-
  798.              light bar to the first record matching the letter typed
  799.              by the user.
  800.  
  801.            . Fixed a problem in the search routine where the browser
  802.              would be initialized even in the event that there were
  803.              no records matching the specified search string.  Added
  804.              an additional check to make sure that the search string
  805.              was located within the current key string after the
  806.              search process was completed.
  807.  
  808.            . Added a status routine to the rebuild procedure as an
  809.              activity indicator for the user.
  810.  
  811.            . Fixed a problem where the sequential pointer was not
  812.              being reset properly after selecting a record from the
  813.              browser.  This would cause a Next or Previous operation
  814.              to fail, bringing up an inaccurate record.
  815.  
  816.            . Turned off word-wrapping in the notes fields.
  817.  
  818.            . Moved the RebuildData routine from each individual template
  819.              into the RebuildDataFile routine in the Master Template
  820.              Object to reduce code size.  This was made possible by
  821.              using the new object-oriented database routines.
  822.  
  823.            . Fixed a problem where the Rebuild process was generating
  824.              an Error #10125, ("Key Too Long") when attempting to
  825.              rebuild STSI's software database.  This problem occurred
  826.              because the length of the notes field had been changed
  827.              after the database was originally created.  Changed the
  828.              size of the software database notes field back to 2048
  829.              bytes.
  830.  
  831.            . Converted notes fields in all templates from Asciiz
  832.              strings to individual character strings.  This allows
  833.              the use of different size notes fields for each template.
  834.              A list of note field sizes will be posted in the documenta-
  835.              tion file.
  836.  
  837.            . Fixed a problem where an error "RecordType Not Defined"
  838.              was occuring after creating a new database.  This problem
  839.              was caused when a parent object's virtual method did
  840.              not appear to be overridden, even though it was.  (Problem
  841.              was related to VMT's in the parent object's constructors.)
  842.  
  843.            . Eliminated use of the 3rd variable (Temporary) for each
  844.              instance of a template object.  The new object-oriented
  845.              database routines do not require this variable.
  846.  
  847.            . Reworked code to use object-oriented database manage-
  848.              ment routines.  Moved several more routines into the
  849.              Master Template Object to simplify the code.
  850.  
  851.            . Moved the OpenFile, CreateFile, CloseFile, and
  852.              RebuildFile routines into the Master Template Object
  853.              to simplify the code.
  854.  
  855.  
  856. 05-18-94 ■ Version 1.50  (Internal Revision - Not Released)
  857.  
  858.            . Added a pre-defined limit for the number of records that
  859.              non-registered users may add to a database.  Limit is
  860.              currently set at 50 records.
  861.  
  862.            . Added support for an integrated context-sensitive help
  863.              system.
  864.  
  865.            . Added a "BBS Sysop" field to both of the BBS templates.
  866.  
  867.            . Fixed a problem where the Database Description was not
  868.              being reset when a database was closed, causing it to
  869.              be displayed on the top of the View Template screen.
  870.  
  871.            . Cleaned up the SetupSearchDefaults routine to pass a
  872.              string-array back filled with the appropriate field names.
  873.              Eliminated the need to set Y coordinates and a NumStrings
  874.              variable.
  875.  
  876.            . Fixed a problem where the View Template miniature dialog
  877.              box could not be moved.  Added a command to handle any
  878.              move events.
  879.  
  880.            . Added a fill character to be displayed in the data fields
  881.              when the user views a template.  This allows the user to
  882.              see the length of each field in the template.
  883.  
  884.            . Changed the template list sub-menus into one common
  885.              pick list.  When the Create or View options are selected,
  886.              the pick list is repositioned.  This allowed the addition
  887.              of a scroll bar and mouse support for the scroll bar.
  888.  
  889.            . Modified printing routine to only go to the first record
  890.              after the printing process if the database was printed
  891.              successfully.  If Cancel is selected, the database will
  892.              stay on the current record.
  893.  
  894.            . Added a confirmation message box when users press
  895.              Escape or click the right mouse button when they are
  896.              editing a record.  Message box queries whether or not
  897.              the user wants to save the changes to the current record
  898.              before exiting the editing process.
  899.  
  900.            . Modified browser rows to display two blank characters
  901.              between each column.
  902.  
  903.            . Added a status window when Infodex initializes the
  904.              database manager, to inform the user what is happening.
  905.  
  906.            . Increased the pad width for the Search Fields listed on
  907.              the Search dialog box from 23 to 30.
  908.  
  909.            . Added support for a startup database file to be written
  910.              to the INFODEX.INI file.  When Infodex is executed, it
  911.              checks this file to automatically load a default database.
  912.              If a command line option (filename) is specified, it will
  913.              override the startup database file.
  914.  
  915.            . Set up temporary variables on screens where the settings
  916.              of the INI file are modified to make sure that the
  917.              settings are not modified directly.  Settings are updated
  918.              to the actual variables only when Ok is selected.
  919.  
  920.            . Created destructors for each of the template objects.
  921.  
  922.            . Completed the printing dialog box to allow users to
  923.              specify which port or filename to send output to.
  924.  
  925.            . Added the ability to add and modify a database description
  926.              for each database created.  This description will appear
  927.              at the top of the template during the editing process.
  928.  
  929.            . Fixed a problem in the View Template routine where the
  930.              dialog boxes were not being drawn and displayed.
  931.  
  932.            . Added Generic Template #1, which contains 18 fields of a
  933.              45 character length string, along with a notes field.
  934.              Added the capability for the user to change the field
  935.              names dynamically.
  936.  
  937.            . Adjusted the AutoRepeatTicks and AutoDelayTicks settings
  938.              to change the rate at which the mouse repeats after an
  939.              initial click and after an auto-repeat click.  Set
  940.              AutoRepeatTicks to 2, and set AutoDelayTicks to 18.
  941.  
  942.            . Fixed a problem where an Isam Error # 10210 would occur
  943.              when attempting to create a new database.  The error
  944.              would state that the specified key could not be found,
  945.              due to the fact that the FindRecord routine is executed
  946.              when the database is opened.  Fixing this problem also
  947.              fixed another glitch where two error messages would be
  948.              issued if a search string could not be found during the
  949.              search process.
  950.  
  951.            . Modified code in the stTVZifChoiceBox routine to
  952.              display the dialog box in 3-D mode, using an out-dented
  953.              look.
  954.  
  955.            . Fixed a problem in the ModifyRecord routine that was
  956.              causing Infodex to hang in the middle of this routine.
  957.              Although a new temporary pointer (to a byte) had been
  958.              created, it had not been defined as pointing to a
  959.              variable (object).  Created a new global object and
  960.              pointer, and defined it as pointing to the new global
  961.              object.  (This problem was not consistent, but occurred
  962.              the most often after the Notes field was accessed.)
  963.  
  964.            . Increased size of Notes field in each template to
  965.              2K (2048 bytes).
  966.  
  967.            . Added support to all templates for report printing.
  968.              (All records only)
  969.  
  970.            . Modified code in the Browser to allow the user to
  971.              press Escape without changing the current record that
  972.              was being viewed prior to initializing the Browser.
  973.              The only time the record will change is if the user
  974.              presses ENTER or selects a record with the left-mouse
  975.              button.
  976.  
  977.  
  978. 04-26-94 ■ Version 1.40  (Internal Revision - Not Released)
  979.  
  980.            . Fixed a problem where the command line parameters were
  981.              not properly loading a file when /DEBUG was also speci-
  982.              fied on the command line.
  983.  
  984.            . Added a "Please Wait" window to the Open and Delete file
  985.              routines to notify the user that Infodex is reading the
  986.              current directory.  This process can take a little while
  987.              to complete on large directories.
  988.  
  989.            . Added a "Please Wait" window to the Rebuild Index File
  990.              process to notify the user that activity is taking place.
  991.  
  992.            . Added support for a command line switch called /DEBUG
  993.              to dynamically enable use of extra commands to
  994.              lock and unlock the records and the database for testing
  995.              purposes only.
  996.  
  997.            . Added code to allow Infodex to automatically "remember"
  998.              the coordinates of the Browser from the last time it was
  999.              used.  These coordinates are stored in the .INF file and
  1000.              read each time a database file is loaded from disk.
  1001.  
  1002.            . Added an error message that informs the user that the
  1003.              filename specified on the command line does not exist.
  1004.  
  1005.            . Fixed a problem where pressing Escape on the Open File
  1006.              screen would produce an error message that the filename
  1007.              did not exist.
  1008.  
  1009.            . Changed the wording of the "Use Save Mode" option on
  1010.              the configuration options screen to be more understand-
  1011.              able.
  1012.  
  1013.            . Rewrote the AddRecord, DeleteRecord, and ModifyRecord
  1014.              routines to lock the database before attempting to make
  1015.              any changes.
  1016.  
  1017.            . Fixed a problem where the current record number was not
  1018.              being properly set when the user pressed ENTER or Escape
  1019.              on the browser screen.  This caused the record pointer to
  1020.              not be set properly, causing problems when attempting to
  1021.              search for or delete records.
  1022.  
  1023.            . Added a warning message box to users to change the
  1024.              value of the Network Users field during Infodex.  Since
  1025.              this value can only be initialized when Infodex is
  1026.              initially started, Infodex must be exited and restarted
  1027.              in order for the new value to be used.
  1028.  
  1029.            . Converted the Network Users field to a numeric field
  1030.              internally, and specified a possible range between 0
  1031.              and 65535.
  1032.  
  1033.            . Added a close box to the browser screen to allow mouse
  1034.              users to quickly close the browser.
  1035.  
  1036.            . Added support for a refresh delay field on the configura-
  1037.              tions options screen to allow users to specify the amount
  1038.              of time before the screen should be updated with any
  1039.              changes made to the current record on other workstations
  1040.              on a network.
  1041.  
  1042.            . Implemented changes in libraries and recompiled program.
  1043.  
  1044.            . Added a configuration options screen to allow users to
  1045.              specify a network type and whether or not Save Mode
  1046.              should be used when working with files.
  1047.  
  1048.            . Set minimum and maximum size limits for the Notes field
  1049.              of each template to prevent redraw problems that would
  1050.              occur when the width was reduced to less than 10 (approx.)
  1051.              characters in size.
  1052.  
  1053.            . Fixed a problem where the RebuildDataFile routine was not
  1054.              working properly.  Since this routine was calling the
  1055.              BuildKey routine with an untyped var parameter, the var
  1056.              parameter could not be set up with a .Init constructor,
  1057.              which is mandatory for an object with virtual methods.
  1058.              Removed the BuildKey virtual method from the object and
  1059.              placed it separate, so it would not be mandatory to call
  1060.              the .Init constructor before-hand.
  1061.  
  1062.            . Added the ability for Infodex to "remember" the position
  1063.              of the notes field for each separate database created by
  1064.              the user.  This allows users to position the notes field
  1065.              in their favorite spot, customizing it to their individual
  1066.              tastes.
  1067.  
  1068.            . Fixed a problem where pressing the Escape key while
  1069.              the Search screen was open would cause one or more
  1070.              error messages to appear.  This problem was due to a
  1071.              missing begin-end statement set.
  1072.  
  1073.            . Added a horizontal scroll bar to the browser to allow
  1074.              users to use the mouse for horizontal scrolling.
  1075.  
  1076.            . Modified code to make the hotkeys on the Search screen
  1077.              Yellow On Blue instead of White On Blue.
  1078.  
  1079.            . Decreased the initial height of the Browser by 2 lines.
  1080.  
  1081.            . Fixed a problem where the program would terminate or
  1082.              hang when attempting to compare a duplicate record to
  1083.              an original record.  The duplicate record (object) was
  1084.              not being initialized with a call to Init.
  1085.  
  1086.            . Fixed a problem where the browser would place an at (@)
  1087.              symbol in the first field of the database if it
  1088.              attempted to get a blank or non-existent record from
  1089.              the browser listing.  If an error occurs, Infodex will
  1090.              reset the database to the first record.
  1091.  
  1092.            . Fixed a problem where the headers within the browser
  1093.              were not starting on the same column as the data
  1094.              positioned below them.
  1095.  
  1096.            . Added hot-keys to the radio buttons located on the
  1097.              search screen to allow users to access needed fields
  1098.              more rapidly.
  1099.  
  1100.            . Expanded the information displayed in the Browser by
  1101.              including all fields that serve as index keys.  The
  1102.              extra fields are on the right side of the browser, and
  1103.              can be accessed by using the arrow keys.  They do not
  1104.              immediately show up in order to keep the display as
  1105.              tidy as possible.
  1106.  
  1107.            . Modified code to display all records found within the
  1108.              Browser when a search routine is executed.
  1109.  
  1110.            . Added complete error checking and processing for all
  1111.              errors generated by the database functions.
  1112.  
  1113.            . Modified code for the common template to disable
  1114.              the ability to allow the user to move the dialog box
  1115.              around on the screen.  The template should be non-
  1116.              moveable.
  1117.  
  1118.            . Dramatically re-arranged code to create a master
  1119.              template object, which allows new objects (templates)
  1120.              to be created from the master template.  New code
  1121.              uses virtual methods to override the master template
  1122.              methods.  If a parent method is called by accident, a
  1123.              "RecordType Not Defined ..." error message will appear,
  1124.              indicating the source of the problem.
  1125.  
  1126.            . Modified code to select the current record from the
  1127.              Browsing window, even if Escape is pressed or the
  1128.              right mouse button is clicked.
  1129.  
  1130.            . Placed the code for the Browsing window on the heap
  1131.              instead of the stack to conserve stack space.
  1132.  
  1133.            . Modified code to continue executing the main Infodex
  1134.              program instead of terminating it if the Browsing window
  1135.              could not be initialized.
  1136.  
  1137.  
  1138. 04-16-94 ■ Version 1.30  (Internal Revision - Not Released)
  1139.  
  1140.            . Added code to display a confirmation box when the user
  1141.              presses Escape or clicks the right mouse button.  If
  1142.              the record is being edited, a Cancel (Cancel-Edit) command
  1143.              is issued.  If the record is not being edited, a dialog
  1144.              box appears to confirm that the user wants to close the
  1145.              database file.
  1146.  
  1147.            . Fixed a problem where the separator bars on the main
  1148.              menu were not being connected properly to the right
  1149.              side of the menu frame.
  1150.  
  1151.            . Added automatic detection to the Notes fields to deter-
  1152.              mine whether or not the text has been modified.  Infodex
  1153.              will only prompt to Save Note if the text has changed.
  1154.  
  1155.            . Added a dialog box to ask the user if the entire record
  1156.              should be saved after the Notes field has been edited
  1157.              and saved.
  1158.  
  1159.            . Removed the OpenFile routine from the overlaid section
  1160.              of the code.  This routine was causing spurious errors
  1161.              and program termination when it was contained in the
  1162.              overlaid section of the code.
  1163.  
  1164.            . Added initial support for overlays.  Overlaid about
  1165.              10K of program code.
  1166.  
  1167.            . Added initial code to support printing reports using
  1168.              form-type layouts.
  1169.  
  1170.            . Added a Print button to the main template to allow
  1171.              users to print records within a database.
  1172.  
  1173.            . Added key support to allow users to press enter on a
  1174.              record in the browser, causing the record to be shown
  1175.              on the editing screen.
  1176.  
  1177.            . Added a browsing screen to allow users to browse
  1178.              for one or more records in the database.
  1179.  
  1180.            . Changed the filenames of the template files to
  1181.              reflect the template name.  Changed all internal
  1182.              variable and command names to match the template
  1183.              name.
  1184.  
  1185.            . Corrected a problem where button invisibility was
  1186.              not being handled properly.
  1187.  
  1188.            . Fixed a problem where an Isam error #9903 (File Not
  1189.              Found) was occurring when Infodex attempted to open a
  1190.              file from another directory.  Added a full path to
  1191.              the front of the filename that is being opened and
  1192.              created by the Isam routines.
  1193.  
  1194.            . Modified the date fields for the Insurance template to
  1195.              be stored in a 00-00-0000 format.
  1196.  
  1197.            . Created a specialized command processor table for
  1198.              handling template commands.  This fixed a problem where
  1199.              adding commands to the default table at run time would
  1200.              cause the Up arrow key, Down arrow key, and other keys
  1201.              to trigger exit commands from dialog boxes other than
  1202.              the user templates.
  1203.  
  1204.            . Decided to make all templates the same dimensions,
  1205.              allowing for easier consistency within the code.
  1206.  
  1207.            . Modified code to allow command button to be placed
  1208.              on top of each other when there are visible.  In order
  1209.              to work around a programming bug, added a simple blue-
  1210.              on-blue frame to cover up disabled controls that should
  1211.              have been made invisible.  Controls that are still
  1212.              enabled automatically come to the front.  This allows
  1213.              the Save and Cancel buttons to be placed in the same
  1214.              location as non-edit buttons, and only be displayed
  1215.              when needed.
  1216.  
  1217.            . Modified code that writes text to the hint line to
  1218.              only change the header text on the bottom row, instead
  1219.              of adding a new header each time a change was made.
  1220.              This speeds up the writing process and reduces the
  1221.              snow and other writing that is displayed in this area.
  1222.  
  1223.            . Added support to rebuild the index (.IX) file in the
  1224.              event that it is erased or corrupted.
  1225.  
  1226.  
  1227. 04-10-94 ■ Version 1.20  (Internal Revision - Not Released)
  1228.  
  1229.            . Fixed a problem where the Notes indicator was being
  1230.              displayed on the BackDrop hint line, even if the notes
  1231.              field was blank.  This problem occurred on every template,
  1232.              except the main Business template.  The Business Notes
  1233.              field was being referenced at all times, instead of
  1234.              changing based on the actual template.  Also, the Notes
  1235.              field was being referenced as a 1-based array, instead
  1236.              of a 0-based array, which is required for Asciiz types.
  1237.  
  1238.            . Fixed problem where the cursor was not being restored
  1239.              after Infodex was exited.
  1240.  
  1241.            . Modified the EraseTemplateFields routine to use the
  1242.              FillChar method to empty the entire contents of the
  1243.              record, instead of setting each individual field to a
  1244.              blank value.
  1245.  
  1246.            . Changed the size of the buffer that is allowed when
  1247.              editing a Notes field to be the exact size of Asciiz
  1248.              string that is passed into the procedure.
  1249.  
  1250.            . Modified code to display the user's registration name
  1251.              on the About screen.  If Infodex is unregistered, a
  1252.              registration reminder will be displayed.
  1253.  
  1254.            . Created a procedure to automatically draw STSI's
  1255.              distinctive backdrop using any text string.
  1256.  
  1257.            . Added a bracketed display to the lower right corner of
  1258.              the hint line to inform users whether or not the Notes
  1259.              field contains any data for the current record.  When
  1260.              the 'N' character appears between the brackets, the
  1261.              notes field contains data.  If the character field is
  1262.              blank, the notes field is empty.
  1263.  
  1264.            . Added code to differentiate between adding a new record
  1265.              and modifying an existing record.  Enhanced trapping
  1266.              of the PgUp, PgDn, Ctrl-Home, and Ctrl-End keys to
  1267.              prevent users from moving between records while editing
  1268.              a record.
  1269.  
  1270.            . Added a dialog box with a "Done" command button to the
  1271.              View A Template screens to allow users to view the
  1272.              template and select Done with the mouse or the keyboard
  1273.              when they are finished.
  1274.  
  1275.            . Added support to read the name of an existing database
  1276.              file from the Infodex command line.  When Infodex reads
  1277.              the command line, it checks for the existence of this
  1278.              file, and if it exists, loads it using the proper template.
  1279.  
  1280.            . Added support for the ModifyRecord routine to modify
  1281.              changed records when they have changed from the original.
  1282.  
  1283.            . Fixed drastic problems with pointers to note fields.
  1284.              Changed all Ascii-z pointer strings to non-pointer
  1285.              Ascii-z strings.  It appears as though the pointer
  1286.              was actually being stored in the data file, rather
  1287.              than the ascii-z string.  Modified routines to
  1288.              accommodate the difference in data types.
  1289.  
  1290.            . Fixed a problem where selecting Cancel on the Search
  1291.              dialog box would produce an error message that the
  1292.              search string was not found.  Modified code to only
  1293.              attempt the search process if Ok is selected from the
  1294.              Search dialog box.
  1295.  
  1296.            . Fixed a problem where the error message "Search String
  1297.              Not Found." would appear when first creating a database
  1298.              or opening an empty database.
  1299.  
  1300.            . Added a "View A Template" option to the Infodex Settings
  1301.              menu to allow users to view any of the available
  1302.              templates without actually creating a database.
  1303.  
  1304.            . Added a confirmation dialog box to the Delete record
  1305.              routine to make sure that records are not mistakenly
  1306.              deleted by the user.
  1307.  
  1308.            . Added user exit commands for the editing fields on each
  1309.              template to allow users to use the down and up arrow keys
  1310.              to go to the next or previous field, respectively.  Also
  1311.              added special commands to allow the PgUp, PgDn, Ctrl-Home,
  1312.              and Ctrl-End keys to go to the previous, next, first, and
  1313.              last records, respectively.
  1314.  
  1315.  
  1316. 04-06-94 ■ Version 1.10  (Internal Revision - Not Released)
  1317.  
  1318.            . Repositioned menus to be centered when a sub-menu is
  1319.              opened beside the main menu.
  1320.  
  1321.            . Added Delete An Existing Database option to the main
  1322.              menu to allow users to delete a previously created
  1323.              database.  This option deletes the selected database
  1324.              file (.DAT), as well as the accompanying files (.IX and
  1325.              .INF) files.
  1326.  
  1327.            . Added About Infodex option to the main menu.  Added
  1328.              Registration Information option to the main menu to
  1329.              display the terms and conditions for use of Infodex.
  1330.  
  1331.            . Added support for a searching function to locate
  1332.              records based on any of several keys defined for each
  1333.              template.  This search function is currently case-
  1334.              insensitive.
  1335.  
  1336.            . Added a common unit to contain all of the template-
  1337.              specific code.  This makes adding a new template much
  1338.              easier, leaving less room for error.
  1339.  
  1340.            . Lengthened the Company Name field on the Business
  1341.              template to accomodate longer company names.
  1342.  
  1343.            . Added code to display the total records on the bottom
  1344.              line of the screen.
  1345.  
  1346.            . Added support for Library and Insurance templates.
  1347.  
  1348.            . Changed heading on Notes field to be generic, instead
  1349.              of having a specific heading for each template type.
  1350.  
  1351.            . Fixed a problem where the First and Last routines
  1352.              were not working properly.  Record "wrapping" was
  1353.              necessary.
  1354.  
  1355.            . Modified routine to center the template header over
  1356.              the data fields, rather than the entire dialog box.
  1357.  
  1358.            . Added routine to create a generic backdrop, with a
  1359.              mathematical formula of shifting.  This fixed a problem
  1360.              where the text on the right side of the backdrop was
  1361.              one character too close to the edge.
  1362.  
  1363.            . Added routines to read and write a .INF file for each
  1364.              database created with Infodex.  This allows Infodex
  1365.              to read the .INF file to determine which template should
  1366.              be used when opening an existing file.
  1367.  
  1368.            . Initialized the bottom line of the backdrop as a help
  1369.              line to optionally offer hints or display the copyright
  1370.              information status.  This line will also be used as the
  1371.              memo status line and the status for the number of records
  1372.              contained in the database.
  1373.  
  1374.            . Database files created by the new version of Infodex
  1375.              will have .DAT extensions for data files and .IX
  1376.              extensions for the corresponding index files.
  1377.  
  1378.            . Added a dialog box to allow users to enter a filename
  1379.              when creating a new database.
  1380.  
  1381.            . Added 3-D appearance to all menus and dialog boxes.
  1382.  
  1383.            . Rewrote Infodex in a new programming language.  Added a
  1384.              stylish background with a new style of menuing system.
  1385.              Created a default template layout with command buttons
  1386.              to be used for all future templates.  Created Business,
  1387.              Personal, and Software templates.
  1388.  
  1389.  
  1390.  
  1391. 12-30-93 ■ Version 1.02
  1392.  
  1393.            . Rearranged procedures for unloading forms and closing
  1394.              the database.
  1395.  
  1396.            . Added a command to flush the keyboard after the user
  1397.              presses a key at the welcome and/or logo screens.  The
  1398.              keypress would be passed to the data entry screen if command
  1399.              line parameters were being used.
  1400.  
  1401.            . Added a check for the existence of a .DEX file before
  1402.              attempting to open it.  This step was missed during
  1403.              the processing of command line parameters.
  1404.  
  1405.            . Fixed several potential problems in the command line
  1406.              parameter interpretation routine.  Fixed problem where
  1407.              ".DEX" was not being appended to parameters that did
  1408.              not have an extension, and added code to convert any
  1409.              parameters to UPPER CASE.
  1410.  
  1411.            . Added code to store any command line parameter(s) into
  1412.              a temporary variable to prevent potential corruption of
  1413.              the command line parameters.
  1414.  
  1415.  
  1416. 10-12-93 ■ Version 1.01
  1417.  
  1418.            . Fixed problem where Infodex could not find the INFODEX.INI
  1419.              file and other various problems, when a set was not found
  1420.              in the AUTOEXEC.BAT, and the directory C:\INFODEX did not
  1421.              exist.  Now, Infodex checks first for an AUTOEXEC.BAT set,
  1422.              then attempts to locate the C:\INFODEX directory, and if 
  1423.              neither of those exist, Infodex will use the current
  1424.              directory.
  1425.  
  1426.            . Fixed problem where the program would crash if a user
  1427.              attempted to search for a record when no records had yet
  1428.              been entered in the database.
  1429.  
  1430.            . Changed method of searching for text.  Now, when F4 is
  1431.              pressed or Search is selected, a dialog box pops up, where
  1432.              the user can enter the text to search for in the first field
  1433.              of each template.  Once OK is selected, search is executed,
  1434.              with result displaying on the screen.
  1435.  
  1436.            . Added error trapping when users attempt to create a new
  1437.              data file to make sure that neither the filename cannot be
  1438.              longer than 8 characters, and the extension cannot be longer
  1439.              than 3 characters.
  1440.  
  1441.            . Clarified text in help fields on New File screen.
  1442.  
  1443.            . Changed headings on Open File screen to read "Open Data File"
  1444.              instead of "Open Project" and "Data Filename:" instead of
  1445.              "Project File:".
  1446.  
  1447.  
  1448. 10-07-93 ■ Version 1.00 
  1449.  
  1450.            . Initial release of Infodex.
  1451.